package com.ease.util.events {

   import flash.events.Event;

   /**
    * A general purpose event that allows to store arbitrary object in its
    * <code>data</code> property.
    */
   public class DataEvent extends Event {
      /**
       * A general purpose data member.
       */
      public var data:Object;

      /** Initializes an instance of this class. */
      public function DataEvent(type:String, data:Object = null, bubbles:Boolean=false):void {
         super(type, bubbles);
         this.data = data;
      }

      /**
       * Creates a clone of this event.
       *
       * @return
       *    A clone of this event.
       */
      public override function clone():Event {
         return new DataEvent(this.type, this.data);
      }
   } // class

} // package
